//! 基础测试
//! 
//! 测试基本的SDK功能

use binance_sdk_unified::{
    client::BinanceClientBuilder, ProductType, Environment, Result,
};

#[tokio::main]
async fn main() -> Result<()> {
    // 初始化日志
    tracing_subscriber::fmt()
        .with_max_level(tracing::Level::INFO)
        .init();

    println!("🔧 基础SDK测试");
    println!("==============");

    // 创建客户端
    let client = BinanceClientBuilder::new(
        "test_api_key".to_string(),
        "test_secret_key".to_string(),
        ProductType::Spot,
    )
    .environment(Environment::Demo)
    .timeout(30)
    .retry_count(3)
    .build()?;

    println!("✅ 客户端创建成功");
    println!("   REST URL: {}", client.config().rest_base_url());
    println!("   WebSocket URL: {}", client.config().ws_base_url());
    println!("   HTTP代理: {:?}", client.config().http_proxy);
    println!("   WebSocket代理: {:?}", client.config().ws_proxy);

    // 测试REST API
    println!("📡 测试REST API...");
    match client.rest().market().get_server_time().await {
        Ok(time) => {
            println!("✅ 服务器时间: {}", time);
        },
        Err(e) => {
            println!("❌ 获取服务器时间失败: {}", e);
        }
    }

    println!("🎉 基础测试完成！");
    Ok(())
}
